#include <gtest/gtest.h>

using namespace ::std;

class Solution {
public:
    int climbStairs(int n);
};

int Solution::climbStairs(int n) {
    if(n <= 2) return n;
    return climbStairs(n - 1) + climbStairs(n - 2);
}

class ClimbStairsCheck : public ::testing::Test {
public:
	class Solution solution;
};

TEST_F(ClimbStairsCheck, testClimbStairs_1) {
    EXPECT_TRUE(2 == solution.climbStairs(2));
}

TEST_F(ClimbStairsCheck, testClimbStairs_2) {
    EXPECT_TRUE(10946 == solution.climbStairs(20));
}

TEST_F(ClimbStairsCheck, testClimbStairs_3) {
    EXPECT_TRUE(1346269 == solution.climbStairs(30));
}

int main() {
	::testing::InitGoogleTest();
	return RUN_ALL_TESTS();
}
